Expose array buffer replacement#8606
Conversation
Merging this PR will not alter performance
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | WallTime | cuda/bitpacked_u8/unpack/3bw[100M] |
299.6 µs | 353.9 µs | -15.33% |
| ❌ | Simulation | compact_sliced[(4096, 90)] |
750 ns | 866.7 ns | -13.46% |
| ❌ | Simulation | encode_varbin[(1000, 32)] |
145.4 µs | 164.3 µs | -11.48% |
| ⚡ | Simulation | bitwise_not_vortex_buffer_mut[128] |
244.4 ns | 186.1 ns | +31.34% |
| ⚡ | Simulation | bitwise_not_vortex_buffer_mut[1024] |
304.7 ns | 246.4 ns | +23.68% |
| ⚡ | Simulation | bitwise_not_vortex_buffer_mut[2048] |
398.6 ns | 340.3 ns | +17.14% |
| ⚡ | Simulation | rebuild_naive |
109 µs | 98.8 µs | +10.38% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing ngates/with-buffers (9c2d3e1) with develop (bf2be52)
Footnotes
-
4 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
d9b669d to
75dfba6
Compare
75dfba6 to
86443c3
Compare
Signed-off-by: "Nicholas Gates" <nick@nickgates.com> Signed-off-by: Nicholas Gates <nick@nickgates.com>
86443c3 to
9c2d3e1
Compare
| array: ArrayView<'_, Self>, | ||
| buffers: &[BufferHandle], | ||
| ) -> VortexResult<ArrayParts<Self>> { | ||
| vortex_array::vtable::with_empty_buffers(self, array, buffers) |
There was a problem hiding this comment.
don't quite get this? It's just so you can add the method and assert that it panics?
There was a problem hiding this comment.
ok no there are some implementations, I thought everything is this
| } | ||
| } | ||
|
|
||
| fn with_buffers( |
There was a problem hiding this comment.
Shouldn't this be truly with_buffers just like with slots? Try to mutate in place and only make a copy if it fails? Then we cannot take view but typed Array
Rationale for this change
I want to move array buffers between devices, but keep the same array tree.